package com.ssy.lingxi.dto.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 平台优惠券结算明细请求VO
 * @author 彭冬冬
 * @version 2.0.0
 * @date 2022/1/18 9:23
 */
public class PlatformCouponSettlementDetailRequestVO implements Serializable {
    private static final long serialVersionUID = -7413959185161788518L;



    /**
     * 单据号
     */
    @NotNull(message = "请填写单据号")
    @NotBlank(message = "请填写单据号")
    private String orderNo;

    /**
     * 单据摘要
     */
    private String orderAbstract;

    /**
     * 单据类型
     * 定义: SettlementOrderTypeEnum
     */
    private Integer settlementOrderType;

    /**
     * 退货申请单号 订单不用传
     */
    private String returnCode;

    /**
     * 退货明细id
     */
    private Long returnDetailId;

    /**
     * 来源订单号 - 退货单 传
     */
    private String sourceOrderNo;

    /**
     * 单据时间
     */
    @NotNull(message = "请填写单据日期")
    private Long orderTime;

    /**
     * 订单类型
     * 定义: OrderTypeEnum
     */
    private Integer orderType;

    /**
     * 单据总额
     */
    private Double orderAmount;

    /**
     * 优惠券id
     */
    private Long couponId;

    /**
     * 优惠券编码
     */
    private String couponNo;

    /**
     * 优惠券金额
     * 注：退货申请单为负数
     */
    @NotNull(message = "优惠券金额，不能为空")
    private Double couponAmount;


    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getOrderAbstract() {
        return orderAbstract;
    }

    public void setOrderAbstract(String orderAbstract) {
        this.orderAbstract = orderAbstract;
    }

    public Integer getSettlementOrderType() {
        return settlementOrderType;
    }

    public void setSettlementOrderType(Integer settlementOrderType) {
        this.settlementOrderType = settlementOrderType;
    }

    public String getReturnCode() {
        return returnCode;
    }

    public void setReturnCode(String returnCode) {
        this.returnCode = returnCode;
    }

    public Long getReturnDetailId() {
        return returnDetailId;
    }

    public void setReturnDetailId(Long returnDetailId) {
        this.returnDetailId = returnDetailId;
    }

    public String getSourceOrderNo() {
        return sourceOrderNo;
    }

    public void setSourceOrderNo(String sourceOrderNo) {
        this.sourceOrderNo = sourceOrderNo;
    }

    public Long getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Long orderTime) {
        this.orderTime = orderTime;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public Double getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(Double orderAmount) {
        this.orderAmount = orderAmount;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    public String getCouponNo() {
        return couponNo;
    }

    public void setCouponNo(String couponNo) {
        this.couponNo = couponNo;
    }

    public Double getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(Double couponAmount) {
        this.couponAmount = couponAmount;
    }
}
